#pragma once
#include "GObject.h"
#include "Vector.h"

class MovingObject:public GObject
{
protected:
	float _vx;
	float _vy;
	DWORD _deltaTime;

	Vector _PushBackVector;

public:
	MovingObject(void);
	MovingObject(int x, int y, int Width, int Height, float vx, float vy, int deltaTime, LPD3DXSPRITE spriteHandler, LPDIRECT3DTEXTURE9 image);
	MovingObject(float x, float y, float vx, float vy, int deltaTime,int resourceName,CResourceManager* rm);

	virtual void Move() = 0;
	virtual void Render() = 0;

	Vector getVelocityVector();
	void setVelocity(Vector v);

	void setPushBackVector(const Vector &PVector);
	Vector getPushBackVector();

	~MovingObject(void);

	bool _enablePushBackVector;

};

